<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------

use think\facade\Route;

Route::group('', function () {
    Route::group('cms', function () {
        // 账户相关接口分组
        Route::group('user', function () {
            // 登陆接口
            Route::post('login', 'api/cms.User/login');
            // 刷新令牌
            Route::get('refresh', 'api/cms.User/refresh');
            // 查询自己拥有的权限
            Route::get('auths', 'api/cms.User/getAllowedApis');
            // 注册一个用户
            Route::post('register', 'api/cms.User/register');
            // 更新头像
            Route::put('avatar','api/cms.User/setAvatar');
            // 查询自己信息
            Route::get('information','api/cms.User/getInformation');
            // 用户更新信息
            Route::put('','api/cms.User/update');
            // 修改自己密码
            Route::put('change_password','api/cms.User/changePassword');
        });
        // 管理类接口
        Route::group('admin', function () {
            // 查询所有权限组
            Route::get('group/all', 'api/cms.Admin/getGroupAll');
            // 查询一个权限组及其权限
            Route::get('group/:id', 'api/cms.Admin/getGroup');
            // 删除一个权限组
            Route::delete('group/:id', 'api/cms.Admin/deleteGroup');
            // 更新一个权限组
            Route::put('group/:id', 'api/cms.Admin/updateGroup');
            // 新建权限组
            Route::post('group', 'api/cms.Admin/createGroup');
            // 查询所有可分配的权限
            Route::get('authority', 'api/cms.Admin/authority');
            // 删除多个权限
            Route::post('remove', 'api/cms.Admin/removeAuths');
            // 添加多个权限
            Route::post('/dispatch/patch', 'api/cms.Admin/dispatchAuths');
            // 查询所有用户
            Route::get('users', 'api/cms.Admin/getAdminUsers');
            // 修改用户密码
            Route::put('password/:uid', 'api/cms.Admin/changeUserPassword');
            // 删除用户
            Route::delete(':uid', 'api/cms.Admin/deleteUser');
            // 更新用户信息
            Route::put(':uid', 'api/cms.Admin/updateUser');
        });
        // 日志类接口
        Route::group('log',function (){
            Route::get('', 'api/cms.Log/getLogs');
            Route::get('users', 'api/cms.Log/getUsers');
            Route::get('search', 'api/cms.Log/getUserLogs');
        });
        //上传文件类接口
        Route::post('file','api/cms.File/postFile');
    });
    Route::group('v1', function () {
        Route::group('banner',function(){
            //查询banner表
            Route::get('','api/v1.Banner/getBanners');
            Route::get('/:id','api/v1.Banner/getBanner');
            //添加
            Route::post('','api/v1.Banner/addBanner');
            //删除
            Route::delete('','api/v1.Banner/delBanner');
            // 获取轮播图元素
            Route::get('item/:id','api/v1.Banner/getBannerItem');
            // 新增轮播图元素
            Route::post('item','api/v1.Banner/addBannerItem');
            // 编辑轮播图元素
            Route::put('item/:id','api/v1.Banner/editBannerItem');
            // 删除轮播图元素
            Route::delete('item','api/v1.Banner/delBannerItem');
        });
        //系统信息
        Route::group('system',function(){
            //系统信息
            Route::get('','api/v1.System/getSystem');
            //修改系统信息
            Route::put('','api/v1.System/updateSystem');
        });
        // 获取省份全部信息
        Route::get('province_all','api/v1.Province/getDataAll');
        // 获取城市全部信息
        Route::get('city_all','api/v1.City/getDataAll');
        // 获取区、县全部信息
        Route::get('county_all','api/v1.County/getDataAll');
        // 省份
        Route::group('province',function(){
            // 列表
            Route::get('','api/v1.Province/getDataList');
            // 详情
            Route::get(':id','api/v1.Province/getDataInfo');
            // 添加
            Route::post('','api/v1.Province/createData');
            // 修改
            Route::put('','api/v1.Province/updateData');
            // 删除
            Route::delete('/:id','api/v1.Province/deleteData');
        });
        // 城市
        Route::group('city',function(){
            // 列表
            Route::get('','api/v1.City/getDataList');
            // 详情
            Route::get(':id','api/v1.City/getDataInfo');
            // 添加
            Route::post('','api/v1.City/createData');
            // 修改
            Route::put('','api/v1.City/updateData');
            // 删除
            Route::delete('/:id','api/v1.City/deleteData');
        });
        // 区/县
        Route::group('county',function(){
            // 列表
            Route::get('','api/v1.County/getDataList');
            // 详情
            Route::get(':id','api/v1.County/getDataInfo');
            // 添加
            Route::post('','api/v1.County/createData');
            // 修改
            Route::put('','api/v1.County/updateData');
            // 删除
            Route::delete('/:id','api/v1.County/deleteData');
        });
        // 获取酒店设施分类全部信息
        Route::get('facility_sort_all','api/v1.FacilitySort/getDataAll');
        // 酒店设施分类
        Route::group('facility_sort',function(){
            // 列表
            Route::get('','api/v1.FacilitySort/getDataList');
            // 详情
            Route::get(':id','api/v1.FacilitySort/getDataInfo');
            // 添加
            Route::post('','api/v1.FacilitySort/createData');
            // 修改
            Route::put('','api/v1.FacilitySort/updateData');
            // 删除
            Route::delete('/:id','api/v1.FacilitySort/deleteData');
        });
        // 酒店设施
        Route::get('facility_all','api/v1.Facility/getDataAll');
        // 酒店设施
        Route::group('facility',function(){
            // 列表
            Route::get('','api/v1.Facility/getDataList');
            // 详情
            Route::get(':id','api/v1.Facility/getDataInfo');
            // 添加
            Route::post('','api/v1.Facility/createData');
            // 修改
            Route::put('','api/v1.Facility/updateData');
            // 删除
            Route::delete('/:id','api/v1.Facility/deleteData');
        });
        // 交通枢纽全部信息
        Route::get('traffic_all','api/v1.Traffic/getDataAll');
        // 交通枢纽
        Route::group('traffic',function(){
            // 列表
            Route::get('','api/v1.Traffic/getDataList');
            // 详情
            Route::get(':id','api/v1.Traffic/getDataInfo');
            // 添加
            Route::post('','api/v1.Traffic/createData');
            // 修改
            Route::put('','api/v1.Traffic/updateData');
            // 删除
            Route::delete('/:id','api/v1.Traffic/deleteData');
        });
        // 酒店房间
        Route::group('room',function(){
            // 列表
            Route::get('','api/v1.HotelRoom/getDataList');
            // 详情
            Route::get(':id','api/v1.HotelRoom/getDataInfo');
            // 添加
            Route::post('','api/v1.HotelRoom/createData');
            // 修改
            Route::put('','api/v1.HotelRoom/updateData');
            // 删除
            Route::delete('/:id','api/v1.HotelRoom/deleteData');
        });
        // 酒店订单
        Route::group('room_order',function(){
            // 列表
            Route::get('','api/v1.HotelRoom/getOrderDataList');
            // 列表
            Route::put('check','api/v1.HotelRoom/roomOrderCheck');
            // 完成
            Route::put('send','api/v1.HotelRoom/roomOrderSend');
            // 完成
            Route::put('send-one','api/v1.HotelRoom/roomOrderSendOne');
        });
        // 修改首页推荐
        Route::put('room_recommend','api/v1.HotelRoom/updateDataOne');
        // 获取全部后台信息
        Route::get('admin_all','api/v1.Admin/getDataAll');
        // 后台管理其余信息管理
        Route::group('admin',function(){
            // 列表
            Route::get('','api/v1.Admin/getDataList');
            // 详情
            Route::get(':id','api/v1.Admin/getDataInfo');
            // 详情
            Route::post('','api/v1.Admin/createUpdateData');
        });
        // 基本信息全部信息
        Route::get('basis_all','api/v1.Basis/getDataAll');
        // 基本信息
        Route::group('basis',function(){
            // 列表
            Route::get('','api/v1.Basis/getDataList');
            // 详情
            Route::get(':id','api/v1.Basis/getDataInfo');
            // 添加
            Route::post('','api/v1.Basis/createData');
            // 修改
            Route::put('','api/v1.Basis/updateData');
            // 删除
            Route::delete('/:id','api/v1.Basis/deleteData');
        });
        // 会员模块
        Route::group('member',function() {
            // 会员费
            Route::group('cost', function () {
                // 列表
                Route::get('', 'api/v1.Cost/getDataList');
                // 详情
                Route::get(':id', 'api/v1.Cost/getDataInfo');
                // 添加
                Route::post('', 'api/v1.Cost/createData');
                // 修改
                Route::put('', 'api/v1.Cost/updateData');
                // 删除
                Route::delete('/:id', 'api/v1.Cost/deleteData');
            });
            // 会员列表
            Route::get('', 'api/v1.Member/getDataList');
            // 会员详情
            Route::get('info/:id', 'api/v1.Member/getDataInfo');
            // 修改会员日期
            Route::post('', 'api/v1.Member/updateDate');
            // 修改会员信息
            Route::put('', 'api/v1.Member/updateData');
            // 会员列表
            Route::get('time', 'api/v1.Member/getDateList');
            // 会员金额
            Route::get('money', 'api/v1.Member/getMoneyList');
        });
        // 用户不良记录列表
        Route::group('records',function() {
            // 列表
            Route::get('', 'api/v1.Records/getDataList');
            // 添加
            Route::post('', 'api/v1.Records/createData');
        });
        // 提现
        Route::group('withdrawal',function () {
            // 同意
            Route::put('','api/v1.Withdrawal/updateData');
            // 提现列表
            Route::get('','api/v1.Withdrawal/getDataList');
        });
        Route::group('partner',function () {
            Route::group('province',function () {
                // 列表
                Route::get('','api/v1.Partner/getProvinceList');
                // 详情
                Route::get(':id','api/v1.Partner/getProvinceInfo');
                // 更新
                Route::put('','api/v1.Partner/updateProvince');
                // 删除
                Route::delete(':id', 'api/v1.Partner/deleteProvince');
            });
            Route::group('city',function () {
                // 列表
                Route::get('','api/v1.Partner/getCityList');
                // 详情
                Route::get(':id','api/v1.Partner/getCityInfo');
                // 更新
                Route::put('','api/v1.Partner/updateCity');
                // 删除
                Route::delete(':id', 'api/v1.Partner/deleteCity');
            });

            Route::group('county',function () {
                // 列表
                Route::get('','api/v1.Partner/getCountyList');
                // 详情
                Route::get(':id','api/v1.Partner/getCountyInfo');
                // 更新
                Route::put('','api/v1.Partner/updateCounty');
                // 删除
                Route::delete(':id', 'api/v1.Partner/deleteCounty');
            });
            Route::group('assistant',function () {
                // 列表
                Route::get('','api/v1.Partner/getAssistantList');
                // 详情
                Route::get(':id','api/v1.Partner/getAssistantInfo');
                // 更新
                Route::put('','api/v1.Partner/updateAssistant');
                // 删除
                Route::delete(':id', 'api/v1.Partner/deleteAssistant');
            });
        });
        // 项目孵化
        Route::group('project',function () {
            // 列表
            Route::get('','api/v1.Project/getProjectList');
            // 详情
            Route::get(':id','api/v1.Project/getProjectInfo');
            // 修改
            Route::put('','api/v1.Project/updateProject');
            // 删除项目孵化
            Route::delete('hatch/:id', 'api/v1.Project/deleteProject');
            // 删除项目评论
            Route::delete('comment/:id', 'api/v1.Project/deleteProjectComment');
        });
        // 生成用户邀请图片
        Route::post('invite_user', 'api/v1.Invite/setInviteImg');
    });
})->middleware(['Auth','ReflexValidate'])->allowCrossDomain();
